package com.tx.review.inner;

/**
 * 成员内部类
 */
public class Food {

    double price = 2.2;

    String name = "苹果food";

    public Food(double price) {
        this.price = price;
    }


    //外部类访问内部类成员的方法1
    public Apple getApple(){
        return new Apple();
    }

    public static void main(String[] args) {
        System.out.println("======以下是外部类访问内部类的方法========");
        Food food = new Food(6.6);
        Apple apple = food.new Apple();
        apple.eat();

        System.out.println();
        System.out.println();

        Apple apple1 = food.getApple();
        apple1.sell();
    }

    class Apple{ //内部类
        String name;
        public void eat(){
            //成员内部类可以无条件访问外部类的成员
            System.out.println("innner:" + price);
            //如果重名，那么会取内部类的变量，
            // 如果想要指定外部类的名字，通过  外部类.this.变量名
            System.out.println(name);
            System.out.println(Food.this.name);
        }

        public void sell(){
            System.out.println("sell sell");
        }
    }
}